Method of label transform for managing heterogeneous information

ABSTRACT

Techniques are disclosed herein for normalizing heterogeneous information provided in labels processed by Internet of Things (IoT) devices. A device (e.g., an IoT-enabled device) receives an item including label content. The label content includes attributes describing the item. The device determines that at least one of the attributes is not formatted for processing by the device. A request is generated to format the attributes for processing. The request includes the label content and a target language and a target encoding. The request is sent to a network service that translates the label content. The device receives the translated label content from the network service and processes the item according to the translated label content.

BACKGROUND

The present disclosure relates to Internet of Things devices such assmart appliances, and more specifically, to normalizing heterogeneousinformation in labels processed by the IoT devices.

Internet of Things (IoT) is an approach that networks physical objectsthat are embedded with electronics, software, sensors, and the like thatenables these objects to collect and exchange data. IoT devices aretypically networked via a hub that allows messages to be sent back andforth between the hub and devices. Further, cloud computing platformscan provide multiple services for networked IoT devices, such as IoTservice applications and cloud storage of collected data.

Common household appliances may implement IoT technology to improve auser experience for an individual. As an example, an IoT-based washingmachine may collect data relating to clothes being loaded into thewashing machine. To do so, the washing machine may be configured withsensors, such as a camera and an RFID reader, that scan labels providedwith the clothing. As a result, the washing machine can automaticallyidentify information associated with a given clothing item inserted intothe washing machine, such as a clothing type, clothing color, careinstructions, and the like. Based on the information, the washingmachine can then automatically determine settings to perform relative tothe clothing item, such as a minimum or maximum temperature that can beset, an amount of fabric softener to dispense, and the like.

One concern with appliances that scan such data from input items (likeclothes in a laundry machine) is that a label accompanying a given itemcan differ significantly from a label of another similar item. Forexample, a shirt A can have a clothing label that is printed in Englishwith instructions that use British units (e.g., Fahrenheittemperatures), whereas a shirt B can have a clothing label that isprinted in Chinese with instructions that use metric units (e.g.,centigrade temperatures). Further, the labels themselves may be providedwith the clothing using different methods, such as through storinginformation in RFID tags, printing label information on the fabricdirectly, providing label information as a URL printed on the fabric,etc. Based on the variety of labels used for the items, the appliancemight be unable to identify how to process a given item consistently.

SUMMARY

One embodiment presented herein discloses a method. This methodgenerally includes receiving, by a device, an item including a label.Content of the label includes a plurality of attributes describing theitem. It is determined that at least a first one of the plurality ofattributes is not formatted for processing by the device. A request toformat the first attribute for processing by the device is generated.The request includes the content, a target language, and a targetencoding. The request is sent to a network service for translating thelabel content. Translated label content is received from the networkservice. The item is processed, by the device, according to thetranslated label content.

Another embodiment presented herein discloses a computer programproduct. The computer program product has a computer-readable storagemedium storing instructions, which, when executed on a processor,performs an operation. The operation itself generally includesreceiving, by a device, an item including a label. Content of the labelincludes a plurality of attributes describing the item. It is determinedthat at least a first one of the plurality of attributes is notformatted for processing by the device. A request to format the firstattribute for processing by the device is generated. The requestincludes the content, a target language, and a target encoding. Therequest is sent to a network service for translating the label content.Translated label content is received from the network service. The itemis processed, by the device, according to the translated label content.

Yet another embodiment presented herein discloses a system having aprocessor and a memory. The memory stores program code, which, whenexecuted on the processor, performs an operation. The operation itselfgenerally includes receiving, by a device, an item including a label.Content of the label includes a plurality of attributes describing theitem. It is determined that at least a first one of the plurality ofattributes is not formatted for processing by the device. A request toformat the first attribute for processing by the device is generated.The request includes the content, a target language, and a targetencoding. The request is sent to a network service for translating thelabel content. Translated label content is received from the networkservice. The item is processed, by the device, according to thetranslated label content.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 illustrates an example computing environment, according to oneembodiment.

FIG. 2 further illustrates the assistant service and the Internet ofThings (IoT) device application described relative to FIG. 1, accordingto one embodiment.

FIG. 3 illustrates a method for processing an input item by an IoTdevice, according to one embodiment.

FIG. 4 illustrates a method for translating a label of an input item byan assistant service, according to one embodiment.

FIG. 5 illustrates an example IoT device configured to process an inputitem, according to one embodiment.

FIG. 6 illustrates an example computing system configured to normalizeheterogeneous labels of input items, according to one embodiment.

DETAILED DESCRIPTION

Embodiments presented herein disclose techniques for managing aheterogeneous set of item information provided by items processed by adevice, such as an Internet of Things (IoT) device. In particular, thetechniques provide a label transform assistant service that may operateas a Software-as-a-Service (SaaS) on a cloud platform. The assistantservice normalizes label data of an input item that is provided by anIoT device, such as an IoT-enabled washing machine. The assistantservice may store the normalized information (as well as mappings ofreceived label data to corresponding data in the normalized information)at a storage location, e.g., in the cloud platform.

Consequently, when a given IoT device receives an input item, such as awashing machine receiving a clothing item, the device may scan the labelinformation from the item and determine whether the label information isrecognizable by the IoT device, such as whether the language can be readby the IoT device, whether symbols printed on the label are identifiableby the IoT device, etc. If not, then the IoT device may package thelabel information and generate a request that includes the information.The IoT device may then send the request to the assistant service. Inturn, the assistant service normalizes the label information to astandardized format. The standardized format allows the assistantservice to translate the label information to a format that is readableaccording to user preferred settings and the type of the device, e.g.,readable in a user-preferred language and formatted for a particularversion of the IoT device. The assistant service may then send thetranslated label information to the IoT device, which in turn determinesappropriate settings for processing the item according to thecorresponding translated information.

Advantageously, the techniques disclosed herein disclose a framework forunifying numerous heterogeneous labels for similar items. The assistantservice may use a number of machine translation techniques to identify,from on an input label, fields that correspond to a field of thestandardized format (e.g., using some image conversion and/or machinetranslation techniques). The assistant service can then identifysettings of an IoT device and format the normalized data for the deviceitself.

Note, the following discussion uses an IoT-enabled washing machineappliance as an example of an Internet of Things device that determinesprocessing instructions based on label information provided by itemsprocessed by the device. However, one of skill in the art will recognizethat embodiments described herein may be adapted to a variety ofnetworked devices that process data that accompanies a given item ofinput. For example, an IoT-enabled refrigerator may scan food productsinserted into the refrigerator to obtain, e.g., dietary and nutritionalinformation associated with each food product. Embodiments may beadapted to the refrigerator such that the refrigerator scans a label (orother information) accompanying the food product and sends the data tothe label transform assistant service. The assistant service may thennormalize the data to a standardized format and translate thestandardized data to a format that can be processed by the refrigerator.

FIG. 1 illustrates an example computing environment 100 that provides alabel transformation service for networked devices, according to oneembodiment. As shown, the computing environment 100 includes an Internetof Things (IoT) device 105, a mobile device 110, and a cloud computingplatform 120, each interconnect via a network 125 (e.g., the Internet).

As shown, the IoT device 105 includes an application 107, a labelrepository 108, and a configuration 109. Illustratively, the IoT device105 receives input items 106. In one embodiment, the IoT device 105represents an IoT-enabled smart appliance. As a reference example, theIoT device 105 is an IoT-enabled washing machine, and the input items106 represent a variety of clothing items that are loaded into themachine, such as shirts, pants, undergarments, and the like.

In one embodiment, the application 107 performs data collection andexchange functions relating to the performance of the IoT device 105 andto the input items 106. For instance, the IoT device 105 may include anumber of scanners for collecting information regarding the input items106. For example, the IoT device 105 may include a RFID reader thatcollects RFID tag data from input items 106 that include RFID tags. TheIoT device 105 may store such data into the label repository 108. Thelabel repository 108 allows the IoT device 105 to cache previouslyprocessed item data and quickly retrieve the item data when needed(e.g., with subsequent washings of the particular piece of clothing) andalso to build a history of items processed by the IoT device 105.

In one embodiment, the application 107 may receive and transmit datawith a cloud computing platform, e.g., the platform 120. As shown, theplatform 120 includes a computing server 115 and normalized label data119. The computing server 115 itself includes an assistant service 117.As will be further described below, the assistant service 117 translatesinput item 106 labels that may be unrecognizable to the IoT device 105,such that the IoT device 105 can properly process a given input item106. An example where the IoT device 105 might use the assistant service117 would be in the event that a given input item 106 includes a labelthat was printed for another country that has label standards differingfrom label standards for those normally printed for the country of useby the IoT device 105 (e.g., the IoT device 105 is configured to processlabels printed according to United States standards but not typicallyprinted according to China standards). Such labels may be printed in adifferent language, may use different units, may use different symbols,etc.

The assistant service 117 may maintain a database of label datacollected from a variety of sources, such as manufacturer databases,platform and device users, and online databases. Once collected, theassistant service 117 extracts the data from a given label anddetermines information that maps to a given attribute, such as an itemidentifier, clothing type, country of origin, care instructions, etc.The assistant service 117 may then generate a separate entry includingthe extracted data into a normalized object that the assistant service117 may use for further processing. For instance, to do so, theassistant service may generate a database entry having fieldscorresponding to each attribute and thereafter populate the extracteddata into corresponding fields. As another example, the assistantservice may maintain a mapping table that maps each of the attributes toa standardized field.

In one embodiment, the assistant service 117 provides an applicationprogramming interface (API) that the application 107 may use to sendrequests and commands to the assistant service 117. The application 107may also communicate via a common API with the mobile device 110 via anassistant app 111. The assistant app 111 may register profiles 113relating to the users of the IoT device 105 as well as the IoT device105 itself with the assistant service 117. For instance, user profilesof the profiles 113 include information describing a user or user group(e.g., a collection of users in a household) for a given device. Theuser profiles may include identifying information of the user, inputitems 106 processed by the IoT device 105 for the user, user location,language preference settings, usage settings, and the like. The deviceprofiles of the profiles 113 include a device identifier, type, version,usage history, and the like. The assistant app 111 may also allow a userto modify the configuration 109 of the IoT device 105, such as defaultsettings of the IoT device 105.

FIG. 2 further illustrates the assistant service 117 and the application107, according to one embodiment. As shown, the application 107 includesan initialization component 205, a collection component 210, adetermination component 215, and a request component 220. As shown, theassistant service 117 includes a language determination component 230, alabel evaluation component 235, a conversion component 240, and atranslation component 245.

Illustratively, the application 107 may receive profile 113 data (e.g.,from the assistant app 111). At start-up of the IoT device 105, theinitialization component 205 may retrieve a variety of information fromthe profiles, such as a user identifier, a user location, and a deviceidentifier. Further, when a user inserts an input item 106 (e.g., anarticle of clothing) into the IoT device 105, sensors in the IoT deviceitself may scan an input item label 225 from the input item 106 and sendthe scanned raw data to the application 107. The collection component210 may parse the scanned data for information such as an item ID 226,an item type 227 (e.g., whether the item is a shirt, undergarment,other, etc.), a category 228 (e.g., information about the item group),and item information 229 (e.g., a string describing care instructions,symbol information, etc.).

The determination component 215 may evaluate the collected data toidentify instructions on how to process the input item 106. For example,the determination component 215 may evaluate the item information 229 todetermine certain care instructions, such as a temperature for which totreat the input item. However, in some cases, the collection component210 and the determination component 215 may be unable to properlyidentify the content of a label. An example case may be where the labelitself is formatted in settings that differ from a default oruser-defined language setting or encoding setting according to theprofile. In such cases, the collection component 210 may forward theinput item label 225 to the request component 220. For example, thecollection component 210 may send identified data as well as an imagescan of the input item label 225, e.g., if the IoT device 105 provides acamera sensor, to the request component 220.

The request component 220 receives the input item label 225 information(and image scan) and generates a request using an API associated withthe assistant service 117. The request includes the information relatingto the input item label 225. Further, the request component 220 maystore input item label 225 information in a local data store to maintaina usage history as well as for machine learning purposes. For example,the determination component 215 may create one or more machine learningmodel using previously stored label data to learn patterns associatedwith particular input item labels (or the input items themselves, asscanned by the IoT device 105 using some sensor). The determinationcomponent 215 may then use the machine learning model (e.g., in additionto sending a translation request to the assistant service 117) to scorestored label attributes based on the likelihood that those attributesshould be associated with the corresponding input item. In oneembodiment, the determination component 215 may generate arecommendation based on a the highest scores in each attribute andcorrelate and present care recommendations to the assistant app 111,where a user may decide whether to act on the recommendations (e.g., byadjusting settings of the IoT device 105 used to process the input item106 based on the recommendations).

The assistant service 117 receives label translation requests from agiven IoT device 105 via the application 107. The assistant service 117may parse the request to identify the user ID and device ID to correlatethe IDs with a stored profile. The language determination component 230evaluates the stored profile to determine user-defined languagesettings. Further, the language determination component 230 may alsodetermine, from the stored profile, encoding settings (e.g., whether theIoT device 105 generally presents instructions in UTF-8 encoding).

The label evaluation component 235 extracts the label information fromthe label translation request to determine any identifiable informationfrom the label. For instance, the label evaluation component 215 mayidentify the language in which the item information 229. Further, thelabel evaluation component 215 may also evaluate any symbols provided inan image of the input item label to determine symbols. Further still,the label evaluation component 215 also determines whether an underlyingstring of the item information 229 is formatted properly for processingby the translation component 245, such as whether the item information229 string is formatted in a specified code set. The conversioncomponent 240 is configured to convert improperly formatted iteminformation 229 to a string that can be processed by the translationcomponent 245.

The translation component 245 determines a standardized entry for theinput item label based on the provided input item label and based onmappings between previously scanned labels to normalized data. Thetranslation component 245 may first convert the input item label to thestandardized entry using the mappings. The translation component 245 maythen convert the standardized entry to the user-specified language andencoding based on the mappings. Once converted, the assistant service117 sends the translation to the IoT device 105.

FIG. 3 illustrates a method 300 for processing an input item by an IoTdevice, according to one embodiment. In this particular example, assumethat the IoT device is an IoT-enabled washing machine that receivesclothing items for processing. As shown, the method 300 begins at step305, where the IoT device 105 receives an input item. The IoT device 105may scan the label, e.g., using a camera or RFID reader, and send thelabel to the collection component 210. At step 310, the collectioncomponent 210 parses the label and determines an item ID, item type,item group, and information from the label.

At step 315, the determination component 215 evaluates whether the labelinstructions are identifiable based on the output of the collectioncomponent 210. If so, then at step 320, the IoT device 105 carries outthe identified instructions (e.g., setting the temperature according tothe instructions relative to instructions provided with other clothingitems in the load). Further, the application 107 may store the labelinformation in the label repository 108 for retrieval in subsequentprocesses (or for refining machine learning models). Further still, theapplication 107 may send the label information to the assistant service117. In turn, the assistant service 117 may standardize the label andstore mappings between the standardized label and the received label inlabel data 119.

Otherwise, at step 325, the determination component 215 evaluates theitem history in the label repository 108 and learning models generatedby the application 107. Doing so allows the determination component 215to score candidates to corresponding label attributes based on patternsidentified from the label in the learning models. Once the candidateattributes are scored, then at step 330, the determination component 215determines whether any attributes have scores exceeding a specifiedthreshold. If so, then at step 334, the determination component 215generates recommendations based on the scored attributes and presentsthe recommendations for a user of the IoT device 105 (e.g., via theassistant app 111). An example recommendation can include attributeshaving the top scores for the respective category.

If one or more attributes do not have scores that exceed the threshold,then at step 335, the request component 220 generates a request thatincludes the input item label. At step 340, the request component 220sends the request to the assistant service 117 for translation.

FIG. 4 illustrates a method 400 for translating a label of an input itemby an assistant service, according to one embodiment. As shown, method400 begins at step 405, where the assistant service 117 receives arequest from the application 107 to translate one or more labels eachcorresponding to a given input item. The request includes identifyinginformation of the device, user(s), label data (e.g., a scanned image ofthe label, data discernable by the IoT device 105, etc.), and the like.The request may also include information specifying a preferred languageand encoding to which the label should be translated. At step 410, thelanguage determination component 230 determines a preferred userlanguage and encoding. As stated, the preferred language and encodingmay be obtained from the request. Further, the language determinationcomponent 230 may evaluate a user profile associated with the request toidentify a specified preference of a user language and encoding. Forexample, the user profile may specify a language preference of Englishand an encoding preference of UTF-8.

At step 415, the label evaluation component 235 determines a languageand encoding of the label provided in the request. For example, to doso, the label evaluation component 235 may perform optical characterrecognition (OCR) for various recognized languages on a scan of theimage and match the recognized text to a given language. Additionally,the label evaluation component 235 may evaluate received label data(parsed by the application 107) provided in the request to determine amatching language and encoding. Yet another example includes evaluatingthe repository of label data 119 for similar labels and determining thelanguage and encoding of those similar labels. Other examples includemachine translation techniques used to identify a language used in theunderlying label data.

At step 420, the conversion component 240 optionally determines whetherthe label language and encoding information format is compliant with theassistant service configuration. For example, the configuration mayspecify that the label information provided is encoded as a stringliteral, and the received label information is determined from an image.In such a case, at step 425, the conversion component 240 converts theretrieved information to a compliant format (e.g., a string).

At step 430, the translation component 245 translates the label providedin the request to a standardized label. For example, the translationcomponent 245 may convert the item type provided in the label data to anidentifier value that corresponds to a type used by the serviceassistant 117 for processing label data. The standardized label may alsoinclude a value that identifies the language and encoding that the labelis printed as well as the string representing the label careinformation. Further, the translation component 245 translates thestandardized label to the user-preferred language. To do so, thetranslation component 245 may use language translation techniques,natural language processing, and the like. The translation component 245may also use language dictionary applications to do so.

At step 435, the translation component 245 stores the translated labels(i.e., the standardized label and the user-preferred language-translatedlabel) and mappings to the original label to those labels to therepository of label data 119. At step 440, the translation component 245sends the user-preferred language-translated label to the IoT device105.

FIG. 5 illustrates an example IoT device 500 configured to process aninput item, according to one embodiment. In one embodiment, the IoTdevice 500 represents an IoT-enabled smart appliance, such as a washingmachine. As shown, the IoT device 500 includes a processor 505, one ormore sensors 510, a network interface 515, a memory 520, and a storage530, each interconnected via a bus 517. Of course, IoT devices willtypically include a variety of additional hardware components.

The processor 505 retrieves and executes programming instructions storedin the memory 520. Similarly, the processor 505 stores and retrievesapplication data residing in the memory 520. The bus 517 transmitsinstructions and data between the processor 505, sensors 510, networkinterface 515, memory 520, and the storage 530. The processor 505 isincluded to be representative of a single CPU, multiple CPUs, a singleCPU having multiple processing cores, and the like. The memory 520 isgenerally included to be representative of memory and storage on the IoTdevice 500.

The sensors 510 include a number of components for receiving ortransmitting data. Further, the sensors 510 may be configured to scanlabel data from input items, such as tags on clothing items. Forexample, the sensors may include a camera that captures an image of alabel and sends the label to be processed by an IoT application 522maintained in the memory 520. As another example, the sensors 510 caninclude an RFID reader that scans RFID tags that can include label data,such as an identifier for the input item, type, and care information.Other examples include panels allowing a user to provide manual inputand Bluetooth sensors for control by, e.g., a mobile device. The sensors510 may also maintain scanned data in the storage 530 as sensor data534. In addition, the application 522 may retrieve the sensor data 534and forward the sensor data 534 for storage and analytics on theassistant service of the cloud platform.

Illustratively, the memory 520 includes the application 522. The storage530 includes a device configuration 532 and the sensor data 534. Theapplication 522 may receive a configuration, such as user and deviceprofile data, from a mobile device app and store the user and deviceprofile data within the device configuration 532. The application 522may process input items according to the device configuration 532, suchas user-specified parameters for temperature, timing, and the like.Further, the application 522 receives sensor data 534 and determineswhether an input label received by a sensor 510 is formatted to beprocessed by the application 522, e.g., whether the input label is in alanguage and encoding recognizable to the application 522. If not, theapplication 522 may generate a request for the label transform assistantservice on the cloud platform to format the label into a label that theapplication 522 can process, such as one in a language and encodingspecified in the device configuration 532.

FIG. 6 illustrates an example computing system 600 configured tonormalize heterogeneous labels of input items, according to oneembodiment. As shown, the computing system 600 includes, withoutlimitation, a central processing unit (CPU) 605, a network interface615, a memory 620, and storage 630, each connected to a bus 617. Thecomputing system 600 may also include an I/O device interface 610connecting I/O devices 612 (e.g., keyboard, display, mouse devices,etc.) to the computing system 600. Further, in context of the presentdisclosure, the computing elements shown in the computing system 600 maycorrespond to a physical computing system (e.g., a system in anenterprise network) or a virtual computing instance (e.g., a server on acloud platform).

CPU 605 retrieves and executes programming instructions stored in memory620 as well as stores and retrieves application data residing in thestorage 630. The bus 617 is used to transmit programming instructionsand application data between CPU 605, I/O devices interface 610, storage630, network interface 615, and memory 620. Note, CPU 605 is included tobe representative of a single CPU, multiple CPUs, a single CPU havingmultiple processing cores, and the like. Memory 620 is generallyincluded to be representative of a random access memory. Storage 630 maybe a disk drive storage device. Although shown as a single unit, storage630 may be a combination of fixed and/or removable storage devices, suchas fixed disc drives, removable memory cards, or optical storage,network attached storage (NAS), or a storage area-network (SAN).

Illustratively, memory 620 includes a label transform assistant service622. And storage 630 includes one or more user profiles 632. Theassistant service 622 receives label translation requests from an IoTdevice (e.g., via an application executing on the IoT device). Theassistant service 622 may format a label that is provided with a requestsuch that attributes are assigned to normalized fields. For example, theassistant service 622 may correlate information scanned in the labelusing mappings of previously analyzed labels maintained on a cloudplatform. Once formatted, the assistant service 622 translates theformatted label according to a specified language and encoding (e.g.,provided by a user profile 632 associated with a user of the requestingIoT device). The assistant service 622 then sends the translated labelto the requesting IoT device.

The descriptions of the various embodiments of the present disclosurehave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

In the following, reference is made to embodiments presented in thisdisclosure. However, the scope of the present disclosure is not limitedto specific described embodiments. Instead, any combination of thefollowing features and elements, whether related to differentembodiments or not, is contemplated to implement and practicecontemplated embodiments. Furthermore, although embodiments disclosedherein may achieve advantages over other possible solutions or over theprior art, whether or not a particular advantage is achieved by a givenembodiment is not limiting of the scope of the present disclosure. Thus,the following aspects, features, embodiments and advantages are merelyillustrative and are not considered elements or limitations of theappended claims except where explicitly recited in a claim(s).

Aspects of the present disclosure may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.”

Embodiments of the present disclosure may be a system, a method, and/ora computer program product. The computer program product may include acomputer readable storage medium (or media) having computer readableprogram instructions thereon for causing a processor to carry outaspects of the present disclosure.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present disclosure may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects disclosed herein.

Aspects are described herein with reference to flowchart illustrationsand/or block diagrams of methods, apparatus (systems), and computerprogram products according to embodiments of the present disclosure. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerreadable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Embodiments of the present disclosure may be provided to end usersthrough a cloud computing infrastructure. Cloud computing generallyrefers to the provision of scalable computing resources as a serviceover a network. More formally, cloud computing may be defined as acomputing capability that provides an abstraction between the computingresource and its underlying technical architecture (e.g., servers,storage, networks), enabling convenient, on-demand network access to ashared pool of configurable computing resources that can be rapidlyprovisioned and released with minimal management effort or serviceprovider interaction. Thus, cloud computing allows a user to accessvirtual computing resources (e.g., storage, data, applications, and evencomplete virtualized computing systems) in “the cloud,” without regardfor the underlying physical systems (or locations of those systems) usedto provide the computing resources.

Typically, cloud computing resources are provided to a user on apay-per-use basis, where users are charged only for the computingresources actually used (e.g. an amount of storage space consumed by auser or a number of virtualized systems instantiated by the user). Auser can access any of the resources that reside in the cloud at anytime, and from anywhere across the Internet. In context of the presentdisclosure, a user may access the label transform assistant service orrelated data available in the cloud. For example, the assistant servicecould execute on a computing system in the cloud and translate a labelreceived from an IoT device to a desired language and encoding. In sucha case, the assistant service could store analyzed label data andmappings of label attributes to standardized fields at a storagelocation in the cloud. Doing so allows a user to access this informationfrom any computing system attached to a network connected to the cloud(e.g., the Internet).

While the foregoing is directed to embodiments of the presentdisclosure, other and further embodiments may be devised withoutdeparting from the basic scope thereof, and the scope thereof isdetermined by the claims that follow.

What is claimed is:
 1. A method comprising: receiving, by a device, animage of a label attached to a garment, wherein the label includes aplurality of care instructions for cleaning the garment; upon the devicedetermining that a first instruction of the plurality of instructionscannot be interpreted for processing by the device, evaluating with alocal machine learning model on the device an item history for thegarment to generate a first score for a first replacement careinstruction based on patterns identified from the label using the localmachine learning model, wherein the first score indicates a likelihoodthat the first instruction corresponds to the first replacement careinstruction, and wherein the first historical care instruction isappropriately formatted for processing by the device; upon determiningthat the first score does not exceed a predefined threshold, generatinga request to translate the first instruction into an appropriate formatfor processing by the device, wherein the request includes the image anda target format; sending the request to a network service fortranslating the first instruction; receiving translated label contentfrom the network service, wherein the translated label content comprisesat least a translated first instruction; and processing, by the device,the item according to the translated label content.
 2. The method ofclaim 1, further comprising: upon the device determining that a secondinstruction cannot be interpreted for processing by the device,evaluating with the local machine learning model on the device the itemhistory for the garment to generate a second score for a secondreplacement instruction based on the patterns identified from the labelusing the local machine learning model, wherein the second scoreindicates a likelihood that the second instruction corresponds to thesecond replacement instruction, and wherein the second replacementinstruction is appropriately formatted for processing by the device. 3.The method of claim 2, further comprising: upon determining that thesecond score exceeds the predefined threshold, processing the garmentaccording to the second replacement instruction.
 4. The method of claim1, wherein the device is an IoT-enabled washing machine.
 5. The methodof claim 1, wherein the label includes attributes for the garment thatinclude one or more of an item type, item group, and item information.6. The method of claim 1, wherein determining that the first instructioncannot be interpreted for processing by the device comprises:determining that a language and an encoding associated with firstinstruction do not match the target format.
 7. A computer programproduct, comprising: a computer-readable storage medium storinginstructions, which, when executed on a processor, perform an operation,comprising: receiving, by a device, an image of a label attached to agarment, wherein the label includes a plurality of care instructions forcleaning the garment; upon the device determining that a firstinstruction of the plurality of instructions cannot be interpreted forprocessing by the device, evaluating with a local machine learning modelon the device an item history for the garment to generate a first scorefor a first replacement care instruction based on patterns identifiedfrom the label using the local machine learning model, wherein the firstscore indicates a likelihood that the first instruction corresponds tothe first replacement care instruction, and wherein the first historicalcare instruction is appropriately formatted for processing by thedevice; upon determining that the first score does not exceed apredefined threshold, generating a request to translate the firstinstruction into an appropriate format for processing by the device,wherein the request includes the image and a target format; sending therequest to a network service for translating the first instruction;receiving translated label content from the network service, wherein thetranslated label content comprises at least a translated firstinstruction; and processing, by the device, the item according to thetranslated label content.
 8. The computer program product of claim 7,wherein the operation further comprises: upon the device determiningthat a second instruction cannot be interpreted for processing by thedevice, evaluating with the local machine learning model on the devicethe item history for the garment to generate a second score for a secondreplacement instruction based on the patterns identified from the labelusing the local machine learning model, wherein the second scoreindicates a likelihood that the second instruction corresponds to thesecond replacement instruction, and wherein the second replacementinstruction is appropriately formatted for processing by the device. 9.The computer program product of claim 8, wherein the operation furthercomprises: upon determining that the second score exceeds the predefinedthreshold, processing the garment according to the second replacementinstruction.
 10. The computer program product of claim 7, wherein thedevice is an IoT-enabled washing machine.
 11. The computer programproduct of claim 7, wherein the label include attributes of the garmentthat include one or more of an item type, item group, and iteminformation.
 12. The computer program product of claim 7, whereindetermining that the first instruction cannot be interpreted forprocessing by the device comprises: determining that a language and anencoding associated with the first instruction do not match the targetformat.
 13. A system, comprising: a processor; and a memory storingprogram code, which, when executed on the processor, performs anoperation, comprising: receiving, by a device, an image of a labelattached to a garment, wherein the label includes a plurality of careinstructions for cleaning the garment; upon the device determining thata first instruction of the plurality of instructions cannot beinterpreted for processing by the device, evaluating with a localmachine learning model on the device an item history for the garment togenerate a first score for a first replacement care instruction based onpatterns identified from the label using the local machine learningmodel, wherein the first score indicates a likelihood that the firstinstruction corresponds to the first replacement care instruction, andwherein the first historical care instruction is appropriately formattedfor processing by the device; upon determining that the first score doesnot exceed a predefined threshold, generating a request to translate thefirst instruction into an appropriate format for processing by thedevice, wherein the request includes the image and a target format;sending the request to a network service for translating the firstinstruction; receiving translated label content from the networkservice, wherein the translated label content comprises at least atranslated first instruction; and processing, by the device, the itemaccording to the translated label content.
 14. The system of claim 13,wherein the operation further comprises: upon the device determiningthat a second instruction cannot be interpreted for processing by thedevice, evaluating with the local machine learning model on the devicethe item history for the garment to generate a second score for a secondreplacement instruction based on the patterns identified from the labelusing the local machine learning model, wherein the second scoreindicates a likelihood that the second instruction corresponds to thesecond replacement instruction, and wherein the second replacementinstruction is appropriately formatted for processing by the device. 15.The system of claim 14, wherein the operation further comprises: upondetermining that the second score exceeds the predefined threshold,processing the garment according to the second replacement instruction.16. The system of claim 13, wherein the device is an IoT-enabled washingmachine.
 17. The system of claim 13, wherein the label includesattributes that describe the garment that include one or more of an itemtype, item group, and item information.
 18. The method of claim 1,further comprising: upon receiving the translated label content from thenetwork service, determining an appropriate action relating toprocessing the garment; outputting the appropriate action to a mobiledevice that is different from the device and the network service;receiving input from the mobile device; and processing the garment bythe device according to the input from the mobile device.
 19. Thecomputer program product of claim 7, wherein the operation furthercomprises: upon receiving the translated label content from the networkservice, determining an appropriate action relating to processing thegarment; outputting the appropriate action to a mobile device that isdifferent from the device and the network service; receiving input fromthe mobile device; and processing the garment by the device according tothe input from the mobile device.
 20. The system of claim 13, whereinthe operation further comprises: upon receiving the translated labelcontent from the network service, determining an appropriate actionrelating to processing the garment; outputting the appropriate action toa mobile device that is different from the device and the networkservice; receiving input from the mobile device; and processing thegarment by the device according to the input from the mobile device.